Time division multiple access (TDMA) systems, such as GSM, have a plurality of time slots in a given time frame. For example in GSM each TDMA time frame has eight time slots. Conventionally, each time slot is reserved for use by a particular user.
Digital mobile communication systems for voice such as GSM (Global System for Mobile Communication), and DAMPS (Digital Advanced Mobile Systems) have expanded very rapidly in recent years.
In addition great demand for data service has been created by mobile users due to wide spread acceptance of the Internet. GPRS (General Packet Radio Service), EDGE (enhanced data rate for GSM), and UMTS (Universal Mobile Telecommunications Services) are all being developed to accommodate data users in wireless networks.
Schemes for the transmission of voice over fixed packet switch networks have also been developed in recent years and an increasing amount of voice traffic will be carried over packet switched networks in the future.
The enhanced data rate for GSM evolution (EDGE) is a proposal for the evolution of existing time division multiple access (TDMA) radio cellular systems in order to support higher transmission data rates and increase the capacity of these networks. The application of EDGE is not restricted only to GSM cellular networks but also has been accepted for the evolution of IS-136 systems by UWCC (Universal Wireless Communications Consortium). Enhanced data rates are achieved by introducing higher level modulation formats, such as 8-PSK (phase shift keying). With the introduction of such modulation schemes, EDGE systems can offer bit rates of up to approximately three times higher than standard GSM/GPRS/IS-136 systems.
EDGE was initially developed in order to provide data service at higher rates than GSM or GPRS, by making use of multi-phase modulation (such as 8-PSK) instead of binary GMSK. However, the structure of the proposed PLC/MAC blocks for data transmission do not allow for the efficient use of the available radio resources for voice transmission. Furthermore, due to the use of 8-PSK more powerful channel coding is required in order to maintain certain levels of voice quality.
It is an object of the present invention to provide an efficient transmission scheme for interleaving data from different users in the time slots of a TDMA frame, which is particularly suited to the transmission of voice in an EDGE network.
In WO99/14963 Nokia the invention relates to a data transmission method between a network part of GPRS and a subscriber terminal. A Radio Link Control/Medium Access Control (RLC/MAC) protocol layer and a Logical Link Control (LLC) protocol layer are used as data link layers. More than two LLC frames are placed in one RLC data block, but no changes are made to the packet header structure. There is no reference to the fact that, in speech transmission, different bits have different levels of importance, or to the fact that with standard error checking procedures, speech packets may be unnecessarily discarded, and such a problem is not solved.
In WO99/1624 Ericsson describes a method for processing multiple services over a communications link between a mobile station and a base station. The services include real time services, such as speech and video, and non-real time services such as file transfers. Data blocks for service having substantially similar Quality of Service requirements are combined into the same transmission block, but there is no consideration of efficient transmission of voice services.
In the paper by Pirhonen et al “TDMA-based packet data system standard and deployment” 1999 IEEE 49th Vehicular Technology Conference, 16–20 May 1999 pages 743 to 747 Volume 1 recent achievements of TDMA-based packet radio standards development are described, referring to the introduction of packet data transfer over cellular radio systems, but there is no reference to voice communications.
It is known to provide a method of processing and transmitting speech frames in a TDMA packet switched network.
The present invention is characterised in that providing speech data (400,402) from at least two users (U1,U2); encoding said data into a single RLC/MAC block (416,418); allocating at least one time slot (TF1 3) of a TDMA frame to the RLC/MAC block; and transmitting the encoded RLC/MAC block in the allocated time-slot(s) such that at least one of the allocated time slots carries speech data from each of the at least two users.
The encoded RLC/MAC block may be transmitted in a plurality of said time slots.
The network may be a wireless network and the speech frames may be transmitted on the down-link of the network, wherein the transmitting step includes a step of interleaving the RLC/MAC block such that at least one time-slot carries user data from each of at least two users simultaneously. Preferably the at least on time-slot carries part of the user data from each of the at least two users simultaneously. The network may be an EDGE packet switched network the RLC/MAC blocks being transmitted in four time-slots. User data from two users may be encoded, each time slot carrying a quarter of the encoded user data for each user.
The network may be a wireless network and user data is transmitted on the up-link of the network and wherein the transmitting step includes a step of interleaving the RLC/MAC block such that the allocated time slot in a consecutive frames carries speech data from one of the at least two users. The at least one time-slot may carry part of the user data from one of the two users in each TDMA frame. An encoded speech frame from each of the two users may be carried over an alternate plurality of the at least one time slots. The network may be an EDGE packet switched network, the RLC/MAC blocks being transmitted in four time-slots. User data from two users may be encoded, alternate time slots carrying half of the encoded user data for each user.
As set out in the EDGE document referred to above, the enhanced data rate for GSM evolution (EDGE) has been developed to support the transmission of data packets in wireless networks. Networks supporting the transmission of data packets are conventionally known as packet switched networks. In packet switched networks such as EDGE, the data is transmitted in data packets which include a header and a payload. Each data packet is encoded into a Radio Link Control/Medium Access Control (RLC/MAC) block. The payload includes the information portion of the data packet. The header includes control and routing information associated with the data packet. For example, the header usually includes the destination address of the data packet, error checking information, and control bits for enabling receipt of the packet to be acknowledged, and if necessary to request retransmission of the packet. One characteristic of data packet transmission is that if the receiver in the network does not successfully receive the transmitted packet, then retransmission of the data packet is requested.
In sending voice, as opposed to data, the requirements for transmission are different. For example, in voice transmission it is impractical for information to be re-transmitted because of time delay constraints. Therefore voice transmission in packet switched networks is unacknowledged voice packet transmission. In addition, with voice different bits of the encoded speech have different importance, and it is acceptable for certain bits to be lost. However in data every bit is assumed to have equal importance, and no bits should therefore be lost.
It is herein proposed to transmit voice over an EDGE packet switched network. In order to do this, a new RLC/MAC block structure is proposed (and claimed in our copending patent application No. WOOO/76143), in which the conventional EDGE header is modified to include those fields required to support only voice transmission. Referring to FIG. 1, there is shown a first embodiment of a new RLC/MAC block header, (not being an embodiment of the present invention), suitable for transmission of voice over EDGE. The new RLC/MAC block structure includes a header which is reduced compared to the header of the data packets for EDGE. That is, the length of the header is shorter than that which is required for the transmission of data packets.
Thus to send voice over an EDGE network, it is proposed to change the RLC/MAC block of a standard data packet. The new block contains a header, and a payload consisting of the coded speech bits coded using a standard GSM speech encoder.
This new RLC/MAC block is coded in a different way from that of a known standard EDGE packet. This change of coding is required because for speech data different bits have different importance whereas for data every bit has equal importance.
FIG. 1 (a) shows a header for transmission of voice in the down-link of an EDGE network, prior to channel encoding into a RLC/MAC block. The header 2 comprises an up-link status flag (USF) field 4, a temporary flow identity (TFI) field 6, and a final block indicator (FBI) field 8. The USF field is a 3 bit field, the TFI field is a 7 bit field, and the FBI field is a 1 bit field. All theses fields, and their lengths, are defined by the GPRS standard which EDGE utilises, and the functionality of these fields in the reduced header is the same as in the normal header used in EDGE for data packet transmission.
FIG. 1 (b) shows a header for transmission of voice in the up-link of an EDGE network. The header 10 comprises a temporary flow identity (TFI) field 12, a speech flag (SF) field 14, and a final block indicator (FBI) field 16. The TFI field is a 7 bit field, the SF field is a 2 bit field, and the FBI field is a 1 bit field. The speech flag field is newly introduced into an EDGE header, and corresponds to the S/P bit in GPRS.
In one preferable implementation of voice over EDGE as discussed hereinbelow, each EDGE RLC/MAC block contains two speech frames, and therefore two speech flags are preferably provided in the up-link header of FIG. 1(b), in order to signal whether each of these frames corresponds to silence or voice. The speech flag field may be increased or reduced in dependence on whether more or less speech frames are included in the RLC/MAC block.
For completeness, a summary of each field of the up-link and down-link headers of FIG. 1 is given hereinbelow, but one skilled in the art will be familiar with these fields and their functionality.
The USF field is used for unique addressing of the mobiles. Specifically, when a mobile receives a packet in the down-link, and reads the packets header and finds that it contains it's USF, this means that the base station has given permission to this mobile to transmit its packets on the up-link in a predefined timeslot.
The TFI field uniquely identifies a data flow. When a call is established, it is assigned a unique number. When a mobile station or a base station receives a packet and reads its header it knows which data flow (call) this packet belongs to, by reading the TFI field.
When the SF field is set to 1, the speech frame corresponds to speech. If the SF field is set to 0, the speech frame corresponds to silence.
When the FBI field is set to 1, this is an indication to the receiver that the current data flow is ended. If the FBI field is set to 0, this means that there are more packets to be transmitted in the current data flow.
When the FBI field is set to 1, this is an indication to the receiver that the current data flow is ended. If the FBI field is set to 0, this means that there are more packets to be transmitted in the current data flow.
FIG. 2 shows a second embodiment of the new header for transmission of voice over EDGE (not being an embodiment of the present invention). FIG. 2(a) shows the header for transmission of voice in the up-link of an EDGE network further modified to include a set of error checking bits in a cyclic redundancy checking (CRC) field 18. The new header 20 still includes the USF field 4, the TFI field 6, and the FBI field 8.
FIG. 2(b) shows the header for transmission of voice in the down-link of an EDGE network also further modified to include a set of error checking bits in a cyclic redundancy checking (CRC) field 22. The new header 24 still includes the TFI field 12, the SF field 14, and the FBI field 16. The provision of the error checking bits provides extra protection for the header. Although the headers of FIGS. 2(a) and 2(b) are described with reference to a CRC field for error checking, it will be appreciated that any other error checking scheme suitable for detection of errors may be utilised in accordance with the application.
The size of the CRC field in both the up-link and the down-link headers is dependent upon the error code used in the system. In a simple error checking scheme, the CRC field is generated in dependence upon the other fields in the header. At the receiver, the error field is compared to a re-calculation of the CRC field based on the received header, and if an error is detected then the speech block is discarded. In data transmission this is normal, and re-transmission of the data packet may be requested after the original packet is discarded.
In voice, as mentioned hereinabove, re-transmission is important is impractical. If voice is sent in packet switched networks then the standard error techniques can result in a speech block being discarded on the basis of an error in the header alone, even when the speech in the payload is error free.
Therefore there is proposed herein a further new header, generally applicable to any network in which information is sent in a block comprising a header and a payload. This new header is described herein with reference to a third embodiment of the header for voice over EDGE described with reference to other embodiments in FIG. 1 and FIG. 2, but it will be appreciated that the technique is in fact applicable to all packet switched networks, i.e. environments in which information is conveyed in packets or blocks having a header portion and a payload, whether the packet or block conveys speech or data.
The principle of this new header is to provide an error field in the header which is generated in dependence only on bits contained in the header. This error field is then used at the receiver end to determine whether there are any errors present in the header. If one or more errors are present in the header, then the nature of the error field is such that the receiver can attempt to correct the error or errors introduced during transmission.
This means that blocks which are error free in the payload, or contain acceptable errors, are not automatically discarded. Therefore system performance is increased, particularly for the transmission of speech in packet switched networks.
Referring to FIG. 3(a), the up-link header for transmitting voice over EDGE is therefore modified still further to produce a new header 26 in which the error checking field comprises a cyclic code scheme (CCS) field 28. Similarly referring to FIG. 3(b), the down-link header for transmitting voice over EDGE has been modified still further to produce a new header 30 in which the error checking field comprises a cyclic code scheme (CCS) field 32.
In the header 26 for the up-link for an EDGE network, a 15, 10 cyclic code is preferably used for protection of the header, having the following generator polynomial:g(D)=D5+D4+D2+1Thus a 15 bit header is generated from the original 9 bits of the header. In accordance with the standard EDGE, the FBI bit is not included in the calculation of the CCS field. Such cyclic codes are well-known, and within the scope of one skilled in the art. This block code has double-burst-error-correcting ability and single random error correction capability. It can detect up to 3 random errors. It can detect all burst error patterns of length 5 or less. The fraction of undetected error patterns of length equal to 6 is 0.0625. The fraction of undetected error patterns of length larger than 6 is 0.03125. The code has minimum distance of 4 and is the best code known with length 15 and dimension 10.
In the header 30 for the down-link for an EDGE network a 15,9 cyclic code is preferably used for protection of the header, and has a following generator polynomial:g(D)=D6+D5+D4+D3+1Thus a 15 bit header is generated from the original 10 bits of the header. In accordance with the standard EDGE, the FBI bit is again not included in the calculation of the CCS field. This block code has burst error correcting ability of three, and single random error correction ability. It can detect up to 2 random errors. It can also detect all error patterns of length up to 6. The fraction of undetected error patterns of length equal to 7 is 0.03125. The fraction of undetected error patterns of length 8 or higher is 0.015625. It is clear that the TFI and SF fields are well protected and the error probability is significantly reduced with this code which has triple burst error correcting ability.
Syndrome, which is the result of a calculation done at the receiver upon reception of a code word, will be calculated for headers without error correction. If the syndrome value is zero, this is an indication that the code word contains no errors. The manner in which the syndrome is calculated depends upon the specific code used. The RLC block will thus be accepted if the syndrome is right. If the syndrome is wrong, the header will be sent for error correction. The RLC block will be discarded if the error corrector still indicates there are errors in the header because the number of errors exceeds the code error correction ability. When the error corrector indicates there are no errors in the header after error correction, the RLC block will be accepted and it assumes any errors in the header have been corrected.
FIG. 4 illustrates the simulation of performance results in the down-link and the up-link, comparing the performance with and without error correction. In the simulation the system is assumed to be interference free, and all results are presented as a function of carrier to interference ratio expressed in dB. Typical urban (TU) propagation conditions are assumed, and the mobile stations have a speed of 3 km/hr. Ideal frequency hopping is utilized. During these simulations the number of dropped headers when error detection is used as well as the number of dropped headers when error correction is not used were calculated. In all cases a total number of 5000 RLC/MAC block transmission have been simulated.
In both FIGS. 4(a) and 4(b) the performance table has four columns. A first column 34 shows the carrier to interference ratio as discussed above, a second column 36 shows the number of dropped headers without error correction, a third column 38 shows the number of dropped headers with error correction, and a fourth column 40 shows the percentage improvement obtained by employing the new technique.
In FIG. 4(a), results for the down-link case where the 15,10 cyclic code is utilized are shown. The relative percentage improvement arising from the use of error correction is also shown. FIG. 4(b) shows corresponding results for the case of up-link transmission where the 15,9 cyclic code is utilized.
The headers with errors that have been corrected are between approximately 10 to 20 percent according to the simulations. Because one corrected header will save at least one speech frame, it will improve the quality of speech significantly.
Referring to FIG. 5, there is shown a block diagram of an encoder circuit for generating a header for the down-link as shown in FIG. 3(a). The encoder circuit comprises a control circuit 50, a USF field generator circuit 52, a TFI field generator circuit 54, an FBI field generator circuit, a cyclic code generator circuit 58, and an output circuit 60. The control circuit 50 generates control and timing signals on lines 72 to each of the cyclic code generator circuit 58, and the header field generator circuits 52, 54 and 56. The outputs of each of the USF and TFI header field generator circuits 52 and 54 on lines 74 and 76 respectively form inputs to the cyclic code generator circuit 58. The cyclic code generator circuit generates the cyclic code from the 10 bits of the respective fields of the header as discussed hereinabove, and generates the cyclic code on line 80, and the FBI field on line 78. The output circuit receives as an input the output of the cyclic code generator circuit on line 80. The output circuit then orders the signals on lines 74, 78 and 80 appropriately and generates the header of FIG. 3(a) on line 68. Embodiments of the further encoding of the header are described further herinbelow.
It will be appreciated, from the block diagram of FIG. 5, how the encoder may be modified to provide an encoder for the up-link to generate the header structure of FIG. 3(b).
Referring to FIG. 6, there is shown a block diagram of the part of the header decoding circuitry for error correction in the down-link. The part of the header decoding circuitry includes an input circuit 62, a cyclic code generator circuit 64, and an error correction and detection block 66. The input circuit receives the 16 bits of the decoded header, having the format of FIG. 3(a), on line 70. The five bits of the cyclic code are provided on line 84 to the error correction and detection block. The 12 bits of the header on which the cyclic code is based are provided on line 82 to the cyclic code generator circuit, which applies the same cyclic code applied in the cyclic code generator circuit 58 of the transmitter. The thus generated additional cyclic code is presented on line 86 to the error correction and detection circuit 66. Thus the error correction and detection circuit 66 detects the presence of an error and attempts to correct it as discussed hereinabove. Again, from the description hereinabove it can be readily understood how the circuit of FIG. 6 can be modified for the up-link.
In the following discussion, specific examples of encoding speech frames for transmission over EDGE are given. In these example one or another of the improved headers discussed hereinabove is utilised. It will be apparent, however, that alternative headers may be used whilst still gaining from the advantages of the described encoding techniques.
In transmitting voice over EDGE, it is advantageous wherever possible to use the components of a standard speech encoder for generating the speech frames for transmission. In the following examples, standard GSM speech encoders are utilised. However, other speech encoders may be utilised. In GSM, speech frames have Class I bits and Class II bits, and the Class I bits are further split into a Class Ia category and a Class Ib category. In general in speech different bits have different importance, and therefore in a more general case the important bits (Class I in GSM) can be considered as primary bits, and the less important bits (Class II in GSM) can be considered as secondary bits.